package exception;
/**
 * java异常处理机制:try...catch
 *
 */
public class TryCatchDemo {
    public static void main(String[] args) {
        System.out.println("程序开始了...");
        try {
            //try块中某句代码如果出现了异常,那么try块中这句代码以下的代码都不执行了
            //try语句中如果不出现异常.catch块不执行
            String line = null;
            System.out.println(line.length());
            String line1 = "";//因为上一句方式异常,所以try块这句代码以下的代码都不执行了
            System.out.println(line.charAt(0));
            String line2 ="abc";
            System.out.println(Integer.parseInt(line));

            // }catch (NullPointerException e){//捕获空指针异常
            // 若多个异常具有相同处理方式时,可以合并到一个catch中进行处理

        //}catch (StringIndexOutOfBoundsException e){
        }catch (NullPointerException | StringIndexOutOfBoundsException e){
            System.out.println("解决了...");

        }catch (Exception e){//可以在最后捕获超类型异常,凡是该异常的子类型都可以被捕获并处理
            System.out.println("解决了...");
        }
        System.out.println("程序结束了...");
    }
}
